package com.lb.bs.client.repository;

import com.lb.bs.client.beans.GroupInfo;
import com.lb.bs.client.callback.UpdateCallBackService;

import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;

/**
 * program: LB-BS-Client
 * author: bsworld.xie
 * create: 2019-11-27 10:39
 * description:
 */
public class ScanStaticModel {

    /**
     * 配置类
     */
    Set<Class<?>> clazzList = new HashSet<>();
    /**
     *
     * 配置更新类
     * */
    Set<Class<? extends UpdateCallBackService>> updateClazzList = new HashSet<>();

    Map<Class<?>, List<Method>> clazzMethodMap = new ConcurrentHashMap<>();

    Map<String, GroupInfo> groupInfoMap = new HashMap<>();

    /**
     * key:分组 key
     *
     * value:更新日志的地址
     *
     * */
    Map<String, String> groupLogPathMap = new HashMap<>();



    public Set<Class<? extends UpdateCallBackService>> getUpdateClazzList() {
        return updateClazzList;
    }

    public void setUpdateClazzList(Set<Class<? extends UpdateCallBackService>> updateClazzList) {
        this.updateClazzList = updateClazzList;
    }

    public Set<Class<?>> getClazzList() {
        return clazzList;
    }

    public void setClazzList(Set<Class<?>> clazzList) {
        this.clazzList = clazzList;
    }

    public Map<Class<?>, List<Method>> getClazzMethodMap() {
        return clazzMethodMap;
    }

    public void setClazzMethodMap(Map<Class<?>, List<Method>> clazzMethodMap) {
        this.clazzMethodMap = clazzMethodMap;
    }

    public Map<String, GroupInfo> getGroupInfoMap() {
        return groupInfoMap;
    }

    public void setGroupInfoMap(Map<String, GroupInfo> groupInfoMap) {
        this.groupInfoMap = groupInfoMap;
    }

    public Map<String, String> getGroupLogPathMap() {
        return groupLogPathMap;
    }

    public void setGroupLogPathMap(Map<String, String> groupLogPathMap) {
        this.groupLogPathMap = groupLogPathMap;
    }
}
